1. Field
This invention relates to fast high density solid state memory devices, and implementing a redundancy scheme that works within a Solid State memory device.
2. Description
A hard disk drive (HDD) is a non-volatile storage device which stores data on rotating platters with magnetic surfaces. HDDs have been around for many years and storage manufacturers have continued to improve the rotational speed of the platters, and the tracks per inch which affects the access times for reading and writing data to and from the platters. In addition to increases in rotational speed, manufactures have continued to shrink the HDD footprint and increase the storage capacity. However, with all the advances made by disk manufacturers, the HDD is still a mechanical device with the inherent issues associated with mechanical equipment, and I/O performance is still limited by how far the head must seek to align with the desired track and the rotational speed of the device.
With the advent and pervasive use of NAND Flash memory in consumer devices flash memory costs have dropped dramatically, and their entry into solid state drives (SDDs) has begun. Current NAND Flash drives can do at least an order of magnitude more read operations per/sec than HDDs. Write and erase latency are on the same magnitude as read operations, but one can have dozens of Flash devices operating in parallel. The parallel Flash devices combined with buffers to accept the write data and pre-erase blocks to be able to accept the writes such that the writes per second ops per second can be 2 orders of magnitude greater, and these performance numbers are expected to increase.
As the amount of data generated and stored continues to increase, the need to secure the data has become a huge factor when considering options for storage. One method of securing data is to implement redundancy. Due to the relatively low cost of HDDs redundancy may be implemented by adding additional HDDs and striping the data across multiple drives. Such striping can be combined with a RAID code to increase the redundancy and lower probability of an outage due to a mechanical failure. Since the HDDs are relatively cheap, doing such striping is acceptable. However, the ops per second performance are still limited by the individual arms. Having to use so many disks to get acceptable performance and have redundancy built into all the various components in the subsystem results in higher power, cost and space.